<?php
/**
 * Copyright (c) 2017 Baidu, Inc. All Rights Reserved.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *   http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 *
 * @desc 卡片的基类
 **/
namespace Baidu\Duer\Botsdk\Directive\Display\Template;

abstract class ListTemplate extends \Baidu\Duer\Botsdk\Directive\Display\Template\BaseTemplate {
    /**
     * TextImageTemplate constructor.
     * @param string $type
     */
    public function __construct($type) {
        $this->data['type'] = $type;
        parent::__construct(['token', 'title']);
    }

    /**
     * @param $listTemplateItem ListTemplateItem 列表项
     * @return $this
     */
    public function addItem($listTemplateItem) {
        if($listTemplateItem instanceof ListTemplateItem) {
            if(!isset($this->data['listItems']) || !$this->data['listItems']) {
                $this->data['listItems'] = [];
            }
            $this->data['listItems'][] = $listTemplateItem->getData();
        }
        return $this;
    }

}
 
